এসকিউএল ইউনিয়ন (SQL Union)

Database Tutorials - এসকিউএল (SQL) - এসকিউএল ডাটাবেস (SQL Database) | NCTB BOOK

SQL UNION অপারেটরটি দুই বা ততোধিক SELECT স্টেটমেন্টের ফলাফল একত্রে প্রকাশ করতে পারে।


SQL UNION অপারেটর

SQL UNION অপারেটরটি কোন ডুপ্লিকেট সারি ফেরত দেওয়া ছাড়াই দুই বা ততোধিক SELECT স্টেটমেন্টের ফলাফল একত্রিত করে।

UNION অপারেটর ব্যবহারের পূর্বশর্তঃ

  • প্রতিটি SELECT স্টেটমেন্টে কলামের সংখ্যা অবশ্যই সমান থাকতে হবে।
  • কলাম-সমূহের ডেটা টাইপ একই হতে হবে।
  • SELECT স্টেটমেন্টের সকল কলাম-সমূহ একই ক্রমে(order) থাকতে হবে।

SQL UNION সিনট্যাক্স

SELECT name_of_column's FROM first_table
UNION
SELECT name_of_column's FROM second_table;

 

বিঃদ্রঃ UNION অপারেটরটি ডিফল্টভাবে একাধিক ভ্যালু শুধুমাত্র একবার সিলেক্ট করে। ডুপ্লিকেট(Duplicate) ভ্যালু পাওয়ার জন্য UNION এর সাথে ALL কিওয়ার্ড ব্যবহার করতে হবে।

SQL UNION ALL সিনট্যাক্স

SELECT name_of_column's FROM first_table
UNION ALL
SELECT name_of_column's FROM second_table;

 

UNION এ ব্যবহৃত প্রথম স্টেটমেন্টের কলামের নাম ফলাফল টেবিলের কলামের নাম এর সমান হয়। সুতরাং প্রথম স্টেটমেন্টের কলামের নাম-ই ফলাফল টেবিলের কলামের নাম হয়।


 

নমুনা ডেটাবেজ

UNION অপারেটরের ব্যবহার দেখানোর জন্য আমরা আমাদের নমুনা ডেটাবেজ Student ব্যবহার করবো।

নিচের অংশটি "Student_details" টেবিল থেকে নেওয়া হয়েছেঃ

আইডি নংরোল নাম্বারশিক্ষার্থীর নামপ্রতিষ্ঠানের নামঠিকানা
১০১তামজীদ হাসানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০২মিনহাজুর রহমানজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৩মোঃ সবুজ হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৪ইয়াসিন হোসেনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর
১০৫ফরহাদ উদ্দিনজাতীয় বিশ্ববিদ্যালয়চাঁদপুর

নিচের অংশটি "Teacher_details" টেবিল থেকে নেওয়া হয়েছেঃ

রোল নাম্বারশিক্ষার্থীর নামঠিকানা
১০৪ইয়াসিন হোসেন 
১০৫ফরহাদ উদ্দিন 
১০৯ওয়াহিদুল ইসলাম 

SQL UNION উদাহরণ

নিম্নের SQL UNION স্টেটমেন্টটি "Student_details" এবং "Teacher_details" টেবিল থেকে সকল "ঠিকানা(Address)" কলামকে সিলেক্ট করবে এবং শুধুমাত্র স্বতন্ত্র(Distinct) ভ্যালুগুলো নিয়ে আসবেঃ

উদাহরণ

SELECT Address FROM Student_details
UNION
SELECT Address FROM Teacher_details
ORDER BY Address;

 

বিঃদ্রঃ UNION অপারেটরটি দ্বারা "ঠিকানা(Address)" কলামের সকল ডেটা পাওয়া যাবে না। যদি এক বা একাধিক "শিক্ষার্থী" অথবা "শিক্ষক" এর শহর একই হয় তাহলে শহরটি একবার-ই দেখাবে। অপরপক্ষে UNION ALL ব্যবহার করলে সব গুলো শহরই একত্রে দেখাবে অর্থাৎ ডুপ্লিকেট ভ্যালু-সমূহও দেখাবে।


SQL UNION ALL উদাহরণ

নিম্নের SQL UNION ALL স্টেটমেন্টটি "Student_details" এবং "Teacher_details" টেবিল থেকে সকল স্বতন্ত্র "ঠিকানা"-সহ ডুপ্লিকেট ঠিকানাও নিয়ে আসবেঃ

উদাহরণ

SELECT Address FROM Student_details
UNION ALL
SELECT Address FROM Teacher_details
ORDER BY Address;

 

উপরের উদাহরণটির ফলাফল নিম্নের ন্যায় দেখাবেঃ

আইডিঠিকানা
ঢাকা
রাজশাহী
চাঁদপুর
বরিশাল
সিলেট

SQL UNION ALL এর সাথে WHERE Clause এর ব্যবহার

নিম্নের SQL UNION ALL স্টেটমেন্টটি "Student_details" এবং "Teacher_details" টেবিল থেকে "ঢাকা" শহর বিশিষ্ট সকলের তথ্য(ডুপ্লিকেট ভ্যালুও) নিয়ে আসবেঃ

উদাহরণ

SELECT Student_name, Address FROM Student_details WHERE Address='ঢাকা'
UNION ALL
SELECT Teacher_name, Address FROM Teacher_details WHERE Address='ঢাকা'
ORDER BY Address;

 

উপরের উদাহরণটির ফলাফল নিম্নের ন্যায় দেখাবেঃ

আইডিনামঠিকানা
ওয়াহিদুল ইসলামঢাকা
মারুফ হোসেনঢাকা
ফারুক আলমঢাকা
মোঃ সাইফুল ইসলামঢাকা
নাদিমা আক্তারঢাকা
Content added By
Promotion